package com.hongpu.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hongpu.domain.MultiTenant;
import com.hongpu.dto.MultiTenantDto;
import com.hongpu.utils.ResultDto;

import java.util.List;

/**
* @author Michael zhang
* @description 针对表【multi_tenant(多租户管理)】的数据库操作Service
* @createDate 2025-05-30 09:24:21
*/
public interface MultiTenantService extends IService<MultiTenant> {

    /**
     * 新增
     */
    public ResultDto add(MultiTenant multiTenant);



    /**
     * 更新多租户信息
     * @param multiTenant
     * @return
     */
    public boolean updatedById(MultiTenant multiTenant);
    /**
     * 将租户状态设置为删除状态
     */
    public ResultDto updateStatusDeleted(Long tenantId);
    /**
     * 将租户状态设置为暂停状态
     */
    public ResultDto updateStatusSuspended(Long tenantId);
    /**
     * 将租户状态设置为启用状态
     */
    public ResultDto updateStatusActive(Long tenantId);

    /**
     * 分页
     */
     public IPage<MultiTenant> selectPage(MultiTenantDto multiTenantDto);

    /**
     * 所有租户集合
     */
    public List<MultiTenant> getAllTenant();

    /**
     * 租户详情
     */
    public MultiTenant detail(Long tenantId);

    /**
     * 根据租户ID查询用于URL或系统识别的唯一代码
     */
    public String getSlugByTenantId(Long tenantId);


}
